c语言程序错误纠正`

来源:百度知道 编辑:UC知道 时间:2024/06/15 14:32:49
#include<stdio.h>
main()
{int a,b,c,m;
printf("please three numbers;\n");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
m=a;
printf("%d\n%d\n",b,a);
else
m=b;
printf("%d\n%d\n",a,b);
if(m>c)
printf("%d\n%d\n%d\n",c,m);
else
printf("%d\n%d\n",m,c);
}
系统提示else 跟 if 没有配对,请问是哪的事~
我是菜鸟级,多谢赐教!

if(...)跟else之间,和else之后,如果只跟一句话,可以不加大括号.如果是两句,就要加大括号了.
不过最好养成习惯,不管if后面有几句话,都要加个大括号,还有else也是.
{int a,b,c,m;
printf("please three numbers;\n");
scanf("%d%d%d",&a,&b,&c);
if(a>b){
m=a;
printf("%d\n%d\n",b,a);
}else{
m=b;
printf("%d\n%d\n",a,b);
}
if(m>c){
printf("%d\n%d\n%d\n",c,m);
}else{
printf("%d\n%d\n",m,c);
}
}

if 和 else 默认是只执行后面一个语句,看你的意思,应该是一段,所以你要加括号,改了后如下

#include<stdio.h>
main()
{int a,b,c,m;
printf("please three numbers;\n");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
m=a;
printf("%d\n%d\n",b,a);
}
else
{
m=b;
printf("%d\n%d\n",a,b);
}
if(m>c)
printf("%d\n%d\n%d\n",c,m);
else